package com.example.tiptravel.commom.utils;

import android.webkit.WebSettings;

/**
 * Created by Mr.zhou on 2016/10/28.
 */
public class WebSetUtils {
    private static volatile WebSetUtils instance = null;

    private WebSetUtils() {

    }

    public static WebSetUtils getInstance() {
        if (instance == null) {
            synchronized (WebSetUtils.class) {
                if (instance == null) {
                    instance = new WebSetUtils();
                }
            }
        }
        return instance;
    }

    public void webSetting(WebSettings webSettings) {
        webSettings.setJavaScriptEnabled(true);  //支持js
        webSettings.setUseWideViewPort(false);  //将图片调整到适合webview的大小
        webSettings.setSupportZoom(true);  //支持缩放
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); //支持内容重新布局
        webSettings.supportMultipleWindows();  //多窗口
        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);  //关闭webview中缓存
//        cache模式有如下几种:
//        LOAD_DEFAULT: 如果我们应用程序没有设置任何cachemode， 这个是默认的cache方式。 加载一张网页会检查是否有cache，如果有并且没有过期则使用本地cache，否则从网络上获取。
//        LOAD_CACHE_ELSE_NETWORK: 使用cache资源，即使过期了也使用，如果没有cache才从网络上获取。
//        LOAD_NO_CACHE: 不使用cache 全部从网络上获取
//        LOAD_CACHE_ONLY:  只使用cache上的内容
        webSettings.setAllowFileAccess(true);  //设置可以访问文件
        webSettings.setNeedInitialFocus(true); //当webview调用requestFocus时为webview设置节点
        webSettings.setBuiltInZoomControls(true); //设置支持缩放
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        webSettings.setLoadsImagesAutomatically(true);  //支持自动加载图片
    }
}

